package projeto.lp2.grupo6.view.utilidades;

import java.io.File;
import javax.swing.filechooser.FileFilter;

/**
 * Aluno: 
 *      Guilherme Monteiro 
 * 	Italo Guedes 
 * 	Tiago Leite
 * 
 * @author guilhermemg
 * @author tiagoln
 * @author italogas
 * 
 * Esta classe eh responsavel por determinar que tipos de arquivo
 * poderao ser selecionados pelo selecionador de arquivos.
 */
public class FiltroArquivo extends FileFilter {

    public final static String DATA = "data";

    @Override
    public boolean accept(File file) {
        if (file.isDirectory()) {
            return true;
        }

        String extensao = getExtensao(file);
        if (extensao != null) {
            if (extensao.equals(DATA)) {
                return true;
            } else {
                return false;
            }
        }

        return false;
    }

    @Override
    public String getDescription() {
        return "Arquivos DATA";
    }

    /**
     * Este metodo retorna um String com a extensao do arquivo.
     * 
     * @param arquivo - O arquivo para retornar a extensao.
     * @return Retorna a extensao.s
     */
    public static String getExtensao(File arquivo) {
        String ext = null;
        String nomeArquivo = arquivo.getName();
        int i = nomeArquivo.lastIndexOf('.');

        if (i > 0 && i < nomeArquivo.length() - 1) {
            ext = nomeArquivo.substring(i + 1).toLowerCase();
        }
        return ext;
    }
}
